load("@rules_java//java:defs.bzl", "java_library")
load("@rules_jvm_external//:defs.bzl", "artifact")

java_library(
    name = "netty",
    srcs = glob([
        "src/main/java/**/*.java",
    ]),
    resources = glob([
        "src/main/resources/**",
    ]),
    visibility = ["//visibility:public"],
    deps = [
        "//api",
        "//core:internal",
        artifact("com.google.code.findbugs:jsr305"),
        artifact("com.google.errorprone:error_prone_annotations"),
        artifact("com.google.guava:guava"),
        artifact("io.netty:netty-buffer"),
        artifact("io.netty:netty-codec"),
        artifact("io.netty:netty-codec-http"),
        artifact("io.netty:netty-codec-http2"),
        artifact("io.netty:netty-codec-socks"),
        artifact("io.netty:netty-common"),
        artifact("io.netty:netty-handler"),
        artifact("io.netty:netty-handler-proxy"),
        artifact("io.netty:netty-resolver"),
        artifact("io.netty:netty-transport"),
        artifact("io.netty:netty-transport-native-unix-common"),
        artifact("io.perfmark:perfmark-api"),
        artifact("org.codehaus.mojo:animal-sniffer-annotations"),
    ],
)

# Mirrors the dependencies included in the artifact on Maven Central for usage
# with maven_install's override_targets. Should only be used as a dep for
# pre-compiled binaries on Maven Central.
#
# Not actually shaded; libraries should not be referencing unstable APIs so
# there should not be any references to the shaded package.
java_library(
    name = "shaded_maven",
    visibility = ["//visibility:public"],
    runtime_deps = ["//netty/shaded"],
)
